package com.tbit.uqbike.webmanager.business.photo_upload_log.service;

import com.tbit.common.entity.view.PageResult;
import com.tbit.uqbike.webmanager.business.photo_upload_log.object.PhotoUploadLog;
import com.tbit.uqbike.webmanager.business.photo_upload_log.object.vo.PhotoReturnBikeStatVo;
import com.tbit.uqbike.webmanager.business.photo_upload_log.object.vo.PhotoUploadLogVo;

import javax.validation.constraints.NotEmpty;
import java.util.Date;
import java.util.List;

/**
 * @author <a href="mailto:zheng.zebiao@tbit.com.cn">zb</a>
 * @since 2024/10/17
 */
public interface PhotoUploadLogService {
    /**
     * 获取拍照还车日志列表
     */
    List<PhotoUploadLog> getList(@NotEmpty List<Integer> accountIdList, Integer returnType, Integer result, String orderNO, String userCode,
                                 Date startTime, Date endTime, String phone);

    /**
     * 分页获取拍照还车日志列表
     */
    PageResult<PhotoUploadLogVo> getPage(
            Integer pageNO, Integer rowCount,
            @NotEmpty List<Integer> accountIdList, Integer returnType, Integer result, String orderNO, String userCode,
            Date startTime, Date endTime, String phone);

    List<PhotoUploadLogVo> transform(List<PhotoUploadLog> list, List<Integer> accountIdList);

    /**
     * 获取拍照还车统计列表
     */
    List<PhotoReturnBikeStatVo> getStat(@NotEmpty List<Integer> accountIdList, Date startTime, Date endTime);
}
